@shopify/i18n
Generic i18n-related utilities.
Installation
yarn add @shopify/i18n
Usage
pseudotranslate()
Takes a string and returns a version of it that appears as if it were translated (learn more about pseudotranslation).
This function accepts a number of arguments to customize the translation:
toLocale
: a locale to simulate translation for. This is used primarily to adjust the change in size relative to the original string. When not provided, or when a locale is provided for which no custom size ratio exists, this function slightly increases the string size.delimiter
, startDelimiter
, endDelimiter
: strings used to mark parts of the source string that should not be translated. This can be used, for example, to prevent translation of replacements within a string.prepend
and append
: strings to put at the start and end of the resulting string, respectively. This can be used to provide a common set of text around pseudotranslated code that can identify translated strings that are incorrectly joined together.
import {pseudotranslate} from '@shopify/react-i18n';
const pseudoOne = pseudoTranslate('cat');
const pseudoTwo = pseudoTranslate('cats: {names}', {
toLocale: 'de',
startDelimiter: '{',
endDelimiter: '}',
prepend: '[[!',
append: '!]]',
});
regionFromLocale()
Accepts a locale and extracts the country code as defined in BCP 47, if it exists. The country code will be normalized to fully uppercase when present.
import {regionFromLocale} from '@shopify/i18n';
const regionEn = regionFromLocale('en');
const regionEnCa = regionFromLocale('en-ca');
languageFromLocale()
Accepts a locale and extracts the language subtag as defined in BCP 47.
import {languageFromLocale} from '@shopify/i18n';
const languageFrCa = languageFromLocale('fr-CA');